\hypertarget{class_hyper_jump_navigator}{
\section{HyperJumpNavigator Class Reference}
\label{class_hyper_jump_navigator}\index{HyperJumpNavigator@{HyperJumpNavigator}}
}


To calculate the best position for hyper jump out.  


\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{class_hyper_jump_navigator_aa64527434e75dec0e7fbfdec32cf4f5c}{HyperJumpNavigator} (FPtype targetTime, FPtype viewRangeX, FPtype viewRangeY)
\begin{DoxyCompactList}\small\item\em Constructs the hyper jump navigator. \item\end{DoxyCompactList}\item 
\hyperlink{class_hyper_jump_navigator_afd8b3970bab139d7eca8d1421f2a003e}{$\sim$HyperJumpNavigator} ()
\begin{DoxyCompactList}\small\item\em Destructs {\ttfamily \hyperlink{class_hyper_jump_navigator}{HyperJumpNavigator}}. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_ae8f4e6ba6fed02492265f0937a4f2cfd}{
void \hyperlink{class_hyper_jump_navigator_ae8f4e6ba6fed02492265f0937a4f2cfd}{refine} (FPtype, QList$<$ \hyperlink{class_asteroid}{Asteroid} $\ast$ $>$ \&, QList$<$ \hyperlink{class_collectible}{Collectible} $\ast$ $>$ \&, QList$<$ \hyperlink{class_game_object}{GameObject} $\ast$ $>$ \&, \hyperlink{class_black_hole}{BlackHole} $\ast$, \hyperlink{class_comet}{Comet} $\ast$)}
\label{class_hyper_jump_navigator_ae8f4e6ba6fed02492265f0937a4f2cfd}

\begin{DoxyCompactList}\small\item\em Refines the {\ttfamily \hyperlink{class_hyper_jump_destination}{HyperJumpDestination}} calculations within the current time frame. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a75ef8f1c188581359b6c095fca60aaa4}{
void \hyperlink{class_hyper_jump_navigator_a75ef8f1c188581359b6c095fca60aaa4}{getBest} (\hyperlink{class_hyper_jump_destination}{HyperJumpDestination} \&)}
\label{class_hyper_jump_navigator_a75ef8f1c188581359b6c095fca60aaa4}

\begin{DoxyCompactList}\small\item\em Gets the best {\itshape \hyperlink{class_hyper_jump_destination}{HyperJumpDestination}\/}. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a2592ae5e0eed7d55f556ff8c22771d9e}{
\hyperlink{class_hyper_jump_destination}{HyperJumpDestination} $\ast$ \hyperlink{class_hyper_jump_navigator_a2592ae5e0eed7d55f556ff8c22771d9e}{getAtIndex} (int)}
\label{class_hyper_jump_navigator_a2592ae5e0eed7d55f556ff8c22771d9e}

\begin{DoxyCompactList}\small\item\em Gets the {\ttfamily \hyperlink{class_hyper_jump_destination}{HyperJumpDestination}} from the given {\itshape index\/}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_hyper_jump_navigator_a4c6b1a9acd63be51a2fe2083f74cf2e8}{
void \hyperlink{class_hyper_jump_navigator_a4c6b1a9acd63be51a2fe2083f74cf2e8}{process} (\hyperlink{class_game_object}{GameObject} $\ast$object, FPtype, bool)}
\label{class_hyper_jump_navigator_a4c6b1a9acd63be51a2fe2083f74cf2e8}

\begin{DoxyCompactList}\small\item\em Process calculation for single \hyperlink{class_game_object}{GameObject} {\itshape object\/}. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Private Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_hyper_jump_navigator_a858513a72aba04a137e773ddd4781e85}{
FPtype \hyperlink{class_hyper_jump_navigator_a858513a72aba04a137e773ddd4781e85}{storedTargetTime}}
\label{class_hyper_jump_navigator_a858513a72aba04a137e773ddd4781e85}

\begin{DoxyCompactList}\small\item\em Target time for hyper jump. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a21bca2b3041c244139f6f9488c190792}{
QList$<$ \hyperlink{class_hyper_jump_destination}{HyperJumpDestination} $\ast$ $>$ \hyperlink{class_hyper_jump_navigator_a21bca2b3041c244139f6f9488c190792}{destList}}
\label{class_hyper_jump_navigator_a21bca2b3041c244139f6f9488c190792}

\begin{DoxyCompactList}\small\item\em List for hyper jump destinations. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a09f56786c56df92bf357e49d734d3483}{
int \hyperlink{class_hyper_jump_navigator_a09f56786c56df92bf357e49d734d3483}{taskSwitcher}}
\label{class_hyper_jump_navigator_a09f56786c56df92bf357e49d734d3483}

\begin{DoxyCompactList}\small\item\em Switcher for current hyperjump destination refininition task. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a4b0221160ed524bdcfc35ad9aef54ad0}{
FPtype \hyperlink{class_hyper_jump_navigator_a4b0221160ed524bdcfc35ad9aef54ad0}{timeLeft}}
\label{class_hyper_jump_navigator_a4b0221160ed524bdcfc35ad9aef54ad0}

\begin{DoxyCompactList}\small\item\em Time left to refine destinations. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a82969a82526fc17b8a7e895e777961c2}{
\hyperlink{class_hyper_jump_destination}{HyperJumpDestination} $\ast$ \hyperlink{class_hyper_jump_navigator_a82969a82526fc17b8a7e895e777961c2}{dest}}
\label{class_hyper_jump_navigator_a82969a82526fc17b8a7e895e777961c2}

\begin{DoxyCompactList}\small\item\em Current destination under refine. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_acf897878659a40e80dd8ee1b0c7fb088}{
FPtype \hyperlink{class_hyper_jump_navigator_acf897878659a40e80dd8ee1b0c7fb088}{gameViewRangeX}}
\label{class_hyper_jump_navigator_acf897878659a40e80dd8ee1b0c7fb088}

\begin{DoxyCompactList}\small\item\em View range X. \item\end{DoxyCompactList}\item 
\hypertarget{class_hyper_jump_navigator_a65a89767ad3dc3ff1ac27c3b55252d37}{
FPtype \hyperlink{class_hyper_jump_navigator_a65a89767ad3dc3ff1ac27c3b55252d37}{gameViewRangeY}}
\label{class_hyper_jump_navigator_a65a89767ad3dc3ff1ac27c3b55252d37}

\begin{DoxyCompactList}\small\item\em View range Y. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class_hyper_jump_navigator_a2b7cb859d8128928c29d15e130375677}{
class \hyperlink{class_hyper_jump_navigator_a2b7cb859d8128928c29d15e130375677}{GameWidget}}
\label{class_hyper_jump_navigator_a2b7cb859d8128928c29d15e130375677}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
To calculate the best position for hyper jump out. Best position is where the miner is as safe as possible when coming back to game screen.

\begin{DoxyParagraph}{Evaluating the best hyperjump postition}
At first the three initial hyperjump destinations are created. Destinations are created at the vertical center of screen to X coordinates 0, -\/X range/2 and X range/2.
\end{DoxyParagraph}
These three places are refined within each frame of the game until target time is reached. Refine algorithm tries to estimate positions of the game objects at the target time and the miner dodges away from their position. Defines {\ttfamily \hyperlink{hyperjumpnavigator_8h_ae003bab782a9e6f13e4f1b6b83c73103}{CHANGE\_\-RATE}} and {\ttfamily \hyperlink{hyperjumpnavigator_8h_a58a9c1a7ff5f19164ba9811c9fd80770}{MAX\_\-CHANGE}} can be changed to tune calculation for best position.

Each position has score and best position of the three is which has lowes score. Score is calculated by the positions of the game objects. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{class_hyper_jump_navigator_aa64527434e75dec0e7fbfdec32cf4f5c}{
\index{HyperJumpNavigator@{HyperJumpNavigator}!HyperJumpNavigator@{HyperJumpNavigator}}
\index{HyperJumpNavigator@{HyperJumpNavigator}!HyperJumpNavigator@{HyperJumpNavigator}}
\subsubsection[{HyperJumpNavigator}]{\setlength{\rightskip}{0pt plus 5cm}HyperJumpNavigator::HyperJumpNavigator (
\begin{DoxyParamCaption}
\item[{FPtype}]{ targetTime, }
\item[{FPtype}]{ viewRangeX, }
\item[{FPtype}]{ viewRangeY}
\end{DoxyParamCaption}
)}}
\label{class_hyper_jump_navigator_aa64527434e75dec0e7fbfdec32cf4f5c}


Constructs the hyper jump navigator. 

{\itshape targetTime\/} Target time of the calculation.

{\itshape viewRangeX\/} X range of game area.

{\itshape viewRangeY\/} Y range of game area. \hypertarget{class_hyper_jump_navigator_afd8b3970bab139d7eca8d1421f2a003e}{
\index{HyperJumpNavigator@{HyperJumpNavigator}!$\sim$HyperJumpNavigator@{$\sim$HyperJumpNavigator}}
\index{$\sim$HyperJumpNavigator@{$\sim$HyperJumpNavigator}!HyperJumpNavigator@{HyperJumpNavigator}}
\subsubsection[{$\sim$HyperJumpNavigator}]{\setlength{\rightskip}{0pt plus 5cm}HyperJumpNavigator::$\sim$HyperJumpNavigator (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{class_hyper_jump_navigator_afd8b3970bab139d7eca8d1421f2a003e}


Destructs {\ttfamily \hyperlink{class_hyper_jump_navigator}{HyperJumpNavigator}}. 

Deletes destinations and clears. 

The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
\hyperlink{hyperjumpnavigator_8h}{hyperjumpnavigator.h}\item 
hyperjumpnavigator.cpp\end{DoxyCompactItemize}
